home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 010 / football.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1984-04-24  |  4.9 KB  |  165 lines

  1. 10  CLEAR:CLS:KEY OFF:WIDTH 80
  2. 20  '
  3. 30  PRINT "The instruction are in `REM'! Read them and delete this line !!"
  4. 40  '
  5. 50  ' The instruction are really easy. The computer will give you two lists.
  6. 60  ' On the list is a number followed by a football play. Example: 20  Bomb
  7. 70  ' Print each list on your printer. If you do not have a printer then just
  8. 80  ' copy it on a piece of paper. Give one list to your opponent. Each list
  9. 90  ' has different numbers on it for each play. Then when the computer askes
  10. 100  ' for `Input offensive play, defensive play?' each player enter the number
  11. 110  ' of the play they want, offensive player first , with a comma seperating
  12. 120  ' the plays. HAVE FUN!!
  13. 130  PRINT:RANDOMIZE
  14. 140  DIM A(20),B(20),C(40),H(2),T(2),W(2),X(2),Y(2),Z(2),M$(2),D(2),P$(20)
  15. 150  PRINT:INPUT "Please input score limit on game";E
  16. 160  FOR I=1 TO 40:READ N:IF I>20 THEN 180
  17. 170  A(N)=I:GOTO 190
  18. 180  B(N)=I-20
  19. 190  C(I)=N:NEXT I
  20. 200  FOR I=1 TO 20:READ P$(I):NEXT I
  21. 210  L=0:T=1
  22. 220  PRINT "Team"T"Play chart"
  23. 230  PRINT "No.      Play"
  24. 240  FOR I=1 TO 20
  25. 250  '
  26. 260  PRINT C(I+L);TAB(6);P$(I)
  27. 270  NEXT I
  28. 280  L=L+20:T=2
  29. 290  PRINT "*** Press any key to continue ***"
  30. 300  A$=INKEY$:IF A$="" THEN 300
  31. 310  FOR X=1 TO 11:PRINT:NEXT X
  32. 320  FOR Z=1 TO 3000:NEXT Z
  33. 330  IF L=20 THEN 220
  34. 340  D(1)=0:D(2)=3:M$(1)="--->":M$(2)="<---"
  35. 350  H(1)=0:H(2)=0:T(1)=2:T(2)=1
  36. 360  W(1)=-1:W(2)=1:X(1)=100:X(2)=0
  37. 370  Y(1)=1:Y(2)=-1:Z(1)=0:Z(2)=100
  38. 380  GOSUB 1610
  39. 390  PRINT "Team 1 defends 0 yd goal -- Team 2 defends 100 yd goal."
  40. 400  T=INT(2*RND(1)+1)
  41. 410  PRINT:PRINT "The coin is flipped"
  42. 420  P=X(T)-Y(T)*40
  43. 430  P=P-Y(T)*K
  44. 440  IF W(T)*P<Z(T)+10 THEN 470
  45. 450  PRINT:PRINT "Ball went out of endzone --Automatic Touchback--"
  46. 460  GOTO 520
  47. 470  PRINT "Ball went"K"yards. Now on"P:GOSUB 1600
  48. 480  PRINT "Team"T"do you want to runback";:INPUT A$
  49. 490  IF LEFT$(A$,1)="y" THEN 1210
  50. 500  IF LEFT$(A$,1)<>"n" THEN 480
  51. 510  IF W(T)*P<Z(T) THEN 530
  52. 520  P=Z(T)-W(T)*20
  53. 530  D=1:S=P
  54. 540  FOR I=1 TO 72:PRINT "=";:NEXT I
  55. 550  PRINT:PRINT "Team"T"down"D"on"P
  56. 560  IF D<>1 THEN 600
  57. 570  IF Y(T)*(P+Y(T)*10)>=X(T) THEN 590
  58. 580  C=4:GOTO 600
  59. 590  C=8
  60. 600  IF C=8 THEN 630
  61. 610  PRINT TAB(27);10-(Y(T)*P-Y(T)*S)"yards to 1st down"
  62. 620  GOTO 640
  63. 630  PRINT TAB(27);X(T)-Y(T)*P"yards"
  64. 640  GOSUB 1600:IF D=4 THEN 1020
  65. 650  '
  66. 660  U=INT(3*RND(0)-1):GOTO 680
  67. 670  PRINT "Illegal play number, check and"
  68. 680  PRINT "Input offensive play, defensive play";
  69. 690  IF T=2 THEN 710
  70. 700  INPUT P1,P2:GOTO 720
  71. 710  INPUT P2,P1
  72. 720  IF P1=77 THEN 1020
  73. 730  IF P1>20 THEN 1500
  74. 740  IF P1<1 THEN 1500
  75. 750  IF P2>20 THEN 1500
  76. 760  IF P2<1 THEN 1500
  77. 770  P1=INT(P1):P2=INT(P2)
  78. 780  Y=INT(ABS(A(P1)-B(P2))/19*((X(T)-Y(T)*P+25)*RND(1)-15))
  79. 790  PRINT:IF T=2 THEN 820
  80. 800  IF A(P1)<11 THEN 900
  81. 810  GOTO 830
  82. 820  IF B(P2)<11 THEN 900
  83. 830  IF U<>0 THEN 860
  84. 840  PRINT "Pass incomplete team"T
  85. 850  Y=0:GOTO 910
  86. 860  G=RND(1):IF G>0.025 THEN 880
  87. 870  IF Y>2 THEN 890
  88. 880  PRINT "Quarterback scramble":GOTO 910
  89. 890  PRINT "Pass complete":GOTO 910
  90. 900  PRINT "The ball was run"
  91. 910  P=P-W(T)*Y
  92. 920  PRINT:PRINT "Net yards gained on down"D"are"Y
  93. 930  G=RND(1):IF G>0.025 THEN 960
  94. 940  PRINT:PRINT "** Loss of possession from team"T"to team"T(T)
  95. 950  GOSUB 1570:PRINT:T=T(T):GOTO 480
  96. 960  IF Y(T)*P>=X(T) THEN 1150
  97. 970  IF W(T)*P>=Z(T) THEN 1110
  98. 980  IF Y(T)*P-Y(T)*S>=10 THEN 530
  99. 990  D=D+1:IF D<>5 THEN 540
  100. 1000  PRINT:PRINT "Conversion unsuccessful team"T:T=T(T)
  101. 1010  GOSUB 1570:GOTO 530
  102. 1020  PRINT "Does team"T"want to punt";:INPUT A$
  103. 1030  IF LEFT$(A$,1)="n" THEN 1070
  104. 1040  IF LEFT$(A$,1)<>"y" THEN 1020
  105. 1050  PRINT:PRINT "Team"T"will punt":G=RND(1):IF G>0.025 THEN 940
  106. 1060  GOSUB 1570:K=INT(25*RND(1)+35):T=T(T):GOTO 430
  107. 1070  PRINT "Does team"T"want to attempt a field goal";:INPUT A$
  108. 1080  IF LEFT$(A$,1)="y" THEN 1290
  109. 1090  IF LEFT$(A$,1)<>"n" THEN 1070
  110. 1100  GOTO 650
  111. 1110  PRINT:PRINT "Safety against team"T"********************** OH-OH"
  112. 1120  H(T(T))=H(T(T))+2:GOSUB 1510
  113. 1130  PRINT "Team"T"do you want to punt instead of a kickoff";:INPUT A$
  114. 1140  P=Z(T)-W(T)*20:IF LEFT$(A$,1)="y" THEN 1050
  115. 1150  PRINT:PRINT "Touchdown by team"T"************************* "YEA TEAM"
  116. 1160  Q=7:G=RND(1):IF G>0.1 THEN 1180
  117. 1170  Q=6:PRINT "Extra point no good":GOTO 1190
  118. 1180  PRINT "Extra point good!"
  119. 1190  H(T)=H(T)+Q:GOSUB 1510
  120. 1200  T=T(T):GOTO 420
  121. 1210  K=INT(9*RND(1)+1)
  122. 1220  R=INT(((X(T)-Y(T)*P+25)*RND(1)-15)/K)
  123. 1230  P=P-W(T)*R
  124. 1240  PRINT:PRINT "Runback team"T;R"yards."
  125. 1250  G=RND(1):IF G<0.025 THEN 940
  126. 1260  IF Y(T)*P>=X(T) THEN 1150
  127. 1270  IF W(T)*P>=Z(T) THEN 1110
  128. 1280  GOTO 530
  129. 1290  PRINT:PRINT "Team"T"will attempt a field goal"
  130. 1300  G=RND(1):IF G<0.025 THEN 940
  131. 1310  F=INT(35*RND(1)+20)
  132. 1320  PRINT:PRINT "Kick is"F"yards long"
  133. 1330  P=P-W(T)*F:G=RND(1)
  134. 1340  IF G>0.35 THEN 1380
  135. 1350  IF Y(T)*P<X(T) THEN 1390
  136. 1360  PRINT "Field goal good for team"T"********************** Way to go!"
  137. 1370  Q=3:GOTO 1190
  138. 1380  PRINT "Ball went wide"
  139. 1390  PRINT "Field goal unsuccesful team"T"------------------- Too bad"
  140. 1400  GOSUB 1570:IF Y(T)*P<X(T)+10 THEN 1420
  141. 1410  T=T(T):GOTO 440
  142. 1420  PRINT:PRINT "Ball now on"P
  143. 1430  T=T(T):GOSUB 1600:GOTO 480
  144. 1440  DATA 17,11,6,19,10,1,8,15,9,2,7,5,4,18,16,20,13,12,14,3
  145. 1450  DATA 9,17,18,10,4,3,12,15,11,5,7,14,19,20,16,2,6,8,1,13
  146. 1460  DATA Pitchout,Triple Reverse,Draw,QB Sneak,End Around,Double Reverse
  147. 1470  DATA Left Sweep,Right Sweep,Off Tackle,Wishbone Option,Flare Pass
  148. 1480  DATA Screen Pass,Roll Out Option,Right Curl,Left Curl,Wishbone Option
  149. 1490  DATA Sideline Pass,Half-Back Option,Razzle-Dazzle,The Bomb
  150. 1500  IF P1<>99 THEN 670
  151. 1510  PRINT:PRINT "Team 1 score is"H(1)
  152. 1520  PRINT "Team 2 score is"H(2):PRINT
  153. 1530  IF H(T)<E THEN 1550
  154. 1540  PRINT "Team"T"wins ***************":GOTO 1640
  155. 1550  IF P1=99 THEN 680
  156. 1560  RETURN
  157. 1570  PRINT
  158. 1580  FOR X=1 TO 72:PRINT "+";:NEXT X:PRINT
  159. 1590  RETURN
  160. 1600  PRINT TAB(D(T)+5+P/2);M$(T)
  161. 1610  PRINT "Team 1 [0   10   20   30   40   50   60   70   80   90   100] Team 2"
  162. 1620  PRINT
  163. 1630  RETURN
  164. 1640  END
  165.